home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 8: LINUX Games
/
Linux Cubed Series 8 - LINUX Games.iso
/
games
/
video
/
linux-ab.1
/
linux-abuse.1.1.0.tar
/
abuse-1.10
/
abuse.doc
< prev
next >
Wrap
Text File
|
1995-10-23
|
98KB
|
2,071 lines
======================================================================
This document was written by Duong Dai Nguyen,
level designer & artist for Abuse
WELLCOMMMEEEE ....
TUTORIAL NUMBER 1
(how to make levels the crack-dot-com way!)
Here at crack-dot-com we strive to create fun games. Many elements
go into making a fun game, and one is level design. Supplied with
your official crack-dot-com package is a level editor. This editor allows
you to produce your own ABUSE levels, using prefabricated pieces which
we call OBJECTS. The interface is a little daunting at first but with some
persistence you can be blasting your way down long dark alleys pursuing or
being pursued by aliens, robots and/or flyers of your own creation. Let's
begin!
Table of contents
(do a key-word search for the number/letter combination
to jump to the section you want to read)
1A) Key Listings and Extended Options
---------------------------------------
2B) Object Listings and Descriptions
--------------------------------------
3C) Preliminary Level Design: Editors, Windows, and Menus
-------------------------------------------------------------
4D) Level Designing Hints and Practicalities
---------------------------------------------
1A)
Key Listings and Extended Options
-----------------------------------
------------------------------------------------------------------------
Key Listings
------------------------------------------------------------------------
a : toggle toolbar window
A : disable auto lighting (when computer is too slow, lighting shuts off)
b : toggle background tile picker window
B : make background window wider
c : center on player
C : clone object (mouse cursor must be on it)
d : delete object
D : toggle delays
E : toggle enlarged render
f : toggle background tile picker window
F : make foreground tile picker window wider
g :
h : help
i : invert color black (for foreground tile window,
for discerning transparent/non-trans tiles)
j : jump player to mouse position
k : kill first link
K : kill last link
l : toggle light picker window
L : toggle layer show window
m : toggle map
n : next player focus (not working/useful)
o : toggle object picker window (hold down shift-(first letter)
to jump to an object)
p : toggle palette picker window (hold down shift-(first letter)
to jump to a palette)
P : toggle profiler window
Q : quit (does not ask permission!)
r : raise/lower tile (under mouse)
s : search for object (not working yet)
S : save level
t : flood fill the current tile, (if "grabbing" palette window,
flood fills palette pattern)
U : Ultra smooth drawing (not working correctly right now)
v : volume
w : where, tells the x & y position of the mouse in the game
x : flip objects direction
z : clear weapons
Z : toggle god mode (cursor must be inside of view to turn on god-mode)
space : pick object and move it (click when finished moving)
ctrl : hold down while moving to align on a tile grid,
when not moving objects : hold down on a object and let go
on top of another, and a link is created
alt : hold down while moving to align to center of tile grid
` : "pick up" the foreground tile the mouse is currently on
F1 : help
F2 : save a single screen shot to scrnshot.pcx
F3 : save a single screen shot, but name shot0001.pcx, shot0002.pcx...
F5 : save a series of screen shots, save one every 5 frames
F10 : reduce screen to what it would for 320x200, usefull for hi-rez editing
+ : increase view size
SHIFT+: increase view size a lot
+ : decrease view size
SHIFT-: decrease view size a lot
arrows: scroll view in a direction
TAB : toggle edit/play mode
/ : toggle console window
------------------------------------------------------------------------
Extended Options
------------------------------------------------------------------------
-nosound
-sfx_volume [0..127]
-vmode [G640x480x256 | // SVGA for linux
G800x600x768 |
G1024x768x256]
-size xres yres // for X11 and DOS, for DOS -size ? will give you
// a list of available modes
-2 // doubles each pixel during rendering
-demo // quits game after an idle timeout and goes to demo
-lisp // starts up with an interactive lisp command line
-lock_size // X11, does not allow window to be resized
-disp/-display // specify an alternative X server than $DISPLAY
-no_delay // starts with no delays,
plays as fast as computer goes
-cprint // print all output to stderr instead of console
-nojoy // disables joystick use (there isn't any, anyway!)
-lsf [filename] // use a different lisp startup file than abuse.lsp
-edit // Initially start in EDIT_MODE,
loads "edit.lsp" as well
-t [filename] // auto-number and load load tiles from SPE file
-f [filename] // load filenames as "level1.spe"
// don't shoot yourself in the foot!
X11 (X windows for UNIX) options :
------------------------------------------
-noshm // don't use Shared memory for X11
-grab_pointer // causes abuse to keep pointer inside of window
while playing... press <TAB> to go into development mode (if you ran
with -edit), type '/' to bring up the console (you can type lisp
commands in there).
2B)
Object Listings and Descriptions
----------------------------------
------------------------------------------------------------------------
Object Listings and Descriptions
------------------------------------------------------------------------
------------------------------------------------------------------------
IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
------------------------------------------------------------------------
Before you can learn about the objects you need to learn about
LINKING. Links are the grey lines drawn from one object to another. They act
as visual cues, indicating that those objects are referencing each other
for particular purposes as will be discussed. The links are created by
the level designer. The serve a variety of purposes, dependent upon the
objects linked and their order relative to one and another. What follows
is a description of how to make a link:
--First lay your mouse cursor over the object you want to start
the link from, watch for the grey bounding box.
(note that the object which starts the link is the object which
is 'thinking' and the object which end the links, is not modified
by the link other than its range being extended when the first
object is in the players range.
To understand why the first object 'thinks', it is
necessary to know that every object in this list has an AI,
a small piece of code which determines how the object
behaves in the game. The AI parameters of an object can be
accessed by moving the mouse cursor over the object, watching
for the grey bounding box to pop up. Either press the left mouse
button and bring up the extended option window for that object and
then press the button labeled AI to access the AI parameters. Or, you
can press <shift> <a> with your mouse cursor over the object to
access the AI window directly. For most objects, most of the AI
parameters are labeled and customizable. To change a parameter
of the AI, move your mouse over the number you want to modify,
delete the existing number with the <backspace> key, and type
in a new number).
With your mouse cursor over the object, now you have two choices
from which to make a link.
--The quick way
--the quick way is to the deprees the <Ctrl> key, and keep
it depressed as you move the mouse cursor off the object.
(note the line drawn from your chosen object and the
mouse cursor).
--choose the ending object for the link by moving your
mouse cursor over that object (watch for the grey
bounding box).
--release the <Ctrl> key and the link will be formed
as indicated by a grey line between the two objects.
--The other way to make a link is as follows:
--click on the object of your choice, this will cause an
extended option window to open up.
--click on the ending object for the link, noting the
grey line now drawn between the two objects.
(note that the extended window now belongs to that of the
second object not the first. Thus if you modify the AI
of this object you are modifying the second objects AI not
the first).
(note you cannot link objects to lights with the first method; you
must use the second method to link objects to lights).
(note some objects can have multiple links: to make multiple links,
just repeat the first method as usual. However, if you are using the
second method you must close the extended options windows before
you can make another link from the first object).
To see whether an object is making a link or being linked, you can
use the mouse cursor. Move the mouse cursor over the object with a link line
coming from it. If the link line turns a yellow color then you know that it
is the object making the link. If the line does not change color then it is
not making the link, but instead being linked by some other object.
To kill a link follow these procedures.
--there are two ways to kill a link line, the first is the
most flexible and efficient
--the first method involves only the short-cut keys
--move your mouse cursor over the object making the link
(see above to determine whether an object is making a link)
--since objects can have multiple links you have two method
of which to break a link, from the first toward the last or
vice versa.
-if you want to break the first toward the last use the
<k> key
-if you want to break the last toward the first use the
<shift> <k> keys
-if you want to break all the links coming from that object
use multiple <k> or <shift> <k> key-presses.
(note any remaining link does not originate at that object)
--the second method uses the extended options window
--open the extended options window, by clicking on the
object
--look at the buttons with the red 'X's.
--the button farthest to the left with the red 'X' will
break links with objects, ONLY in the order from first
to last.
--the button farthest to the right with the red 'X' will
break links with lights, ONLY in the order from first to
last.
--it is advisable to close the extended options window after
you are done using it to prevent any accidental delinking or linking.
(click on the CHECK to close the window, or the 'X' on the upper
left hand corner to delete the object).
(note links from objects to lights can only be broken with the
second method).
It is worth mentioning that most links that objects make serve the
purpose of acting as triggers. That is an object usually makes a link
to another object such as a sensor or a switch, which can only have two
states (on or off), and when the sensor or switch changes to an approriate
state, recognizable by the originating object, the originating object
will activate its approaite AI code, thus modifing its state.
To access an object's AI follow these procedures:
--first method
--click on the object, thus bringing up the extended options
window
--click on the AI button,thus bringing up the AI window
with all modifiable parameters for that window. They are
labeled, and thus self-explanatory.
--second method
--move mouse cursor over the object
--press the <shift> <a> keys, thus bringing up the AI window
with all modifiable parameters for that window. They are
labeled, and thus self-explanatory.
To modify an object's AI follow these procedures:
--move your mouse cursor over the parameters box
--use the <backspace> key to delete the current parameters value
--type in the desired value
--close the AI window to make the changes complete (click on the
CHECK)
The range concept is another important facet of objects which is
necessary to learn before you tackle the list. The levels are filled with
hundreds of objects. If they all were given processing time, the
game would run very slowly. So, as an optimization feature, only
the characters within a certain distance of the player are processed.
However not all characters have the same range. Thus some characters
can be proccessed, while others wouldn't, yet be spatially very close.
Such is the case with doors and aliens: the aliens can walk through
doors when the player goes too far away from the door and the alien.
This is resolved either by extending the range of the door,
in the code or in the game. To extend the range in code, you need to find
the lisp code which defines the character's AI and modify it there.
To extend the range of a character in the game, you need only to link
an object (any object, but usually it is a sensor) to the short-
ranged object. That is, the link originates from the sensor, terminating
on the object. When the sensor is active it will 'pull' the linked object
into range as well, and thus allow that object to perform its special
function.
Now let's take a look at the objects.
------------------------------------------------------------------------
NOTE
------------------------------------------------------------------------
As customary, objects which have either on or off states, will change their
color to reflect these states. GREEN means on, and RED means off.
Objects which have these are as follows:
Sensor
Death_respawner
Death_sensor
All the logic gates
Indicator
Switch
------------------------------------------------------------------------
NOTE
------------------------------------------------------------------------
AMBIENT_SOUND
are sounds which are played continuously with a user-definable delay
and volume. They have a range of 500 pixels, and are played at their
highest defined volume at their point of origin, decreasing with
distance.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
ANT_CRACK
is an irregular object from which any number and type of alien can
come bursting forth. The user can set the number and type of alien
by accessing the extended AI options. The type of aliens are
as follows:
0 = yellow-white fast Laser shot
1 = golden-ornage slow Laser shot
2 = Grenade
3 = Rocket
4 = Plasma
5 = Fire Bomb
6 = Death Frizbee
7 = Laser Saber
If it has no links it WILL NOT be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
ANT_ROOF
is an alien whose normal state is an invulnerable cocoon. Usually
placed on the roof, hence its name. It will activate when the player
comes within range when UNDERNEATH it, it will not activate if the
player is above it, even when in range. It can be of any type of
alien. To change its type, place the mouse cursor over the alien
of your choice, watching for a grey bounding box to be drawn. Once
you are over the alien press any of the number keys from 1-7 to
change the alien type, refer above to alien type and number.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
BIG_BOMB
A really big bomb which is detonated by a sensor or switch.
It has a user-definable delay which can be set in its AI.
It can kill the player if they are in range of its blast, which
is, however, not very large. They can be chained together by linking
them sequentialy. If placed with no links, the bomb will explode of
its own accord.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
BLOCK
A block is just an object which can be hurt, but otherwises
does nothing else but blocks the player. The player can
walk on blocks. health = 30
It ignores all links.
BOULDER
A boulder is an object which (when active) if dropped from a height
will bounce on the floor doing damage to anything undereath it,
including aliens, HIDDEN tiles, players, and anything else capable
of being hurt. It's x and y velocity can be modified.
It can be killed. health = ?
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
BOMB
This is a smaller version of the BIG_BOMB and has the same
attributes except its explosion is weaker and is smaller.
see BIG_BOMB above.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
CONC
This is a mine. That is, if the player touches this object it will
explode causing damage to the player. Otherwise it will just sit
there waiting for the player. Customarily placed on the floor.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
CONC_AIR
This is a air mine. That is if the player touches this object it will
explode causing damage to the player. Otherwise it will just float
there waiting for the player. Customarily placed in the air.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
DEATH_RESPAWNER
This object allows you to spawn an object onto another object's
location when it dies. That is if linked to an alien, when the
alien dies a user chosen object will appear where the alien died.
This can be useful for creating certain types of puzzles where
it is required that the player kill a certain ANT. This
character can only be used on the ANT (alien) characters.
The linking order is as follows:
--first link the DEATH_RESPAWNER to the object you want
to be respawned (any object)
(note the first link is always the object that will be
respawned in this case. It is also interesting to note
that if for some reason the first link dies, the second
link now becomes the first link. This could be an interesting
source for a puzzle).
--now link the DEATH_RESPAWNER to any number of ANTs (only
ANTs) which you want the chosen object to be respawned to.
DEATH_SENSOR
This object, like all other sensors only has two states, on or off.
Whatever object this sensor connects to, when it dies or
is deleted (such as the case with ammo and health) the sensor will
switch to an on state. It can have multiple links. If that is the
case, it will only turn on when all the objects it is linked to
are dead or deleted. This object is useful in that you can link
other objects to it, which are activiated when its linked objects
die.
DFRIS_ICON10
This is the large ammo unit for the Death Frizbee. It gives
the player 10 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
DFRIS_ICON4
This is the small ammo unit for the Death Frizbee. It gives
the player 4 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
FBOMB_ICON1
This is the small ammo unit for the Fire Bomb. It gives
the player 1 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
FBOMB_ICON5
This is the large ammo unit for the Fire Bomb. It gives
the player 5 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
FLYER
This is a flying robot, which can fire any of the 1-7 weapon types.
Use the same method of modification as on the ANT to change the
weapon types for the flyer (see ANT_ROOF). It has many modifiable AI
parameters.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
FORCE_FIELD
This object when activated by a sensor or switch will make a wall
of energy which blocks the character from crossing. It can be
any height but no greater than one screen. Position the character
on the top of where you want the wall.
If it has no links it WILL be active (on or off depending).
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
GATE_AND
Logic gates modify their states depending upon their links' states.
For instance, a GATE_AND will only turn on when all its links
are in the on state. If, however, one of the links turns off, the
GATE_AND will revert to an off state. This logic gate can be
linked to more than one object.
GATE_DELAY
Logic gates modify their states depending upon their links' states.
For instance, a GATE_DELAY will only reflect the state of its link.
If the GATE_DELAY is link to an on sensor, it will eventually turn
on as well. However, the special property of the GATE_DELAY is that
it has a user-definable delay in between switching states,
whether from on to off or vice versa. It can be linked to
only one object.
GATE_NOT
Logic gates modify their states depending upon their links' states.
For instance, a GATE_NOT will be in the opposite state of its link.
If a GATE_NOT is linked to an on sensor it will be in the off state.
GATE_NOT can be linked to only one object.
GATE_OR
Logic gates modify their states depending upon their links' states.
For instance, a GATE_OR will be in the on state whenever any one
of its links are on, and is off only when all of its links
are off. This logic gate can be linked to more than one object.
GATE_PULSE
Logic gates modify their states depending upon their links' states.
A GATE_PULSE will, when switched on by an ON sensor or ON switch,
pulsate between on and off states with a user-definable delay
between the off states. GATE_PULSE can be linked to only one object.
GATE_XOR
Logic gates modify their states depending upon their links' states.
A GATE_XOR will only switch on if and only if its links are not in
the same state. That is if there are two links, and if they are
in different states, the GATE_XOR will be in the on state.
However if one of the links switches states, making them both
in the same state, the GATE_XOR will be in the off state.
This logic gate can be linked to more than one object.
GREEN_FLYER
This is a green flying robot, which can fire any of the 1-7 weapon
types. Use the same method of modification as on the ANT to change
the weapon types for the flyer (see ANT_ROOF). It has many
modifiable AI parameters.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
GRENADE_ICON10
This is the large ammo unit for the Grenade. It gives
the player 10 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
GRENADE_ICON2
This is the small ammo unit for the Grenade. It gives
the player 5 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HEALTH
This is a heart icon. It increases your health. It can give you
a range from 5-20 health points, dependent upon your difficulty
level.
HIDDEN_ANT
This is an ANT whose normal state is invisible. It acts like the
ANT_ROOF but is invisible (see ANT_ROOF).
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL1
Hidden objects are used to hide secrets. They can be destroyed using
any of your weapons. Hidden walls can be made indestructible by
linking them up to sensors or switches. When the switch or sensor
comes on, the hidden wall will self-destruct, causing a lot
of damage to any aliens, and/or other hidden walls surrounding
it, but no damage to the player. This hidden wall looks like
a floor tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL2
This hidden wall looks like a roof tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL3
This hidden wall looks like a wall tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL4
This hidden wall looks like a blocking tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALLl5
This hidden wall looks like a floor tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL_2x2
This hidden wall looks like a 2x2 blocking tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL_3FLR
This hidden wall looks like a 3 tile wide floor tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL_3TOP
This hidden wall looks like a 3 tile wide roof tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL_3WALL
This hidden wall looks like a 3 tile wide wall tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
HIDDEN_WALL_AFLR
This hidden wall looks like an alien floor tile.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
INDICATOR
This object switches its color from red to green when it turns off
and on. It's useful when showing the player info about sensor states
or switch states.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
JUGGER
This is a walking or stationary robot which tosses grenades.
Its AI can modify whether it walks or is stationary, and
the angle at which it throws the grenades.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
LADDER
An object which allows the player to climb along it's length when
in the area bounded by the ladder object and another object the
ladder is linked to. That is the ladder needs to be linked to
another arbitary object to work. The ladder forms the upper
left-hand corner of the area box, and the other arbitary object
forming the lower right-hand corner of the box. When a player
enters the area they can climb up the ladder when they press up.
(note the criterion for the player entering the box is when
the feet of the player are in the box)
This object requies one and only one link to another object
(usually a marker) to function.
LAVA
Lava is an object which does constant damage to the player as
long as they are in contact with it.
LIGHTHOLD
This object allows other objects to have light icons, and thus
lights, associated with them. By linking them together, a light
can be 'glued' onto another character. By linking the LIGHTHOLD to
an object that you want to hold the light, and then linking the
LIGHTHOLD again to the light you want that object to hold. (note you
must use the second method of linking for lights, see above
LINKING)
LIGHTIN
This object can hurt the player when the lighting flashes and only
then. The speed is user-definable.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
LSABER_ICON10
This is the small ammo unit for the Laser Saber. It gives
the player 10 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
LSABER_ICON50
This is the large ammo unit for the Laser Saber. It gives
the player 50 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
MARKER
An object which does nothing but mark location, and can hold
links for other objects which need to be linked to other objects
such as the LADDER.
MBULLET_ICON10
This is the large ammo unit for the Laser Rifle. It gives
the player 10 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
MBULLET_ICON5
This is the small ammo unit for the Laser Rifle. It gives
the player 5 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
NEXT_LEVEL
This object will take you to another level when activated (player
touching, presses down arrorw). The next level it takes the player
to is arbitrary, listed as a number in its AI. To use the NEXT_LEVEL
object it is necessary for the level to be in the levels directory
under the current ABUSE directory and use the naming convention,
levelXX.spe
where, XX = any number from 00 - 99. (note the first 0 must be
include if the number is less than 10)
It is advisable to double-link the NEXT_LEVEL to its top,
the NEXT_LEVEL_TOP, for convention and future expansion purposes.
To double link something, means to link the objects mutually.
Link one object to another and that second object back to the first.
NEXT_LEVEL_TOP
The top part to the NEXT_LEVEL. Should be linked to NEXT_LEVEL
object.
OBJ_HOLDER
This object is similar to the LIGHTHOLD, but instead of gluing
a light to an object, it glues together two objects. This
object is sensitive to the ordering of the links. The first
link is the object to be held. The second link is the object
which is holding the first. There is an optional third link,
which if it exists, will act as a trigger for the OBJ_HOLDER, when
the trigger switches on.
(note that if the first or second link is broken, this will
happen if the object dies or is deleted, the links will
reorder themselves)
The OBJ_HOLDER has modifiable AI for the displacement of the
first object with respect to the second object.
An OBJ_HOLDER with no links or one link will be deleted by the
engine.
OBJ_MOVER
This object will allow the level designer create paths for objects
to move on. It accepts two links. The first link marks the endpoint
for the path, and the second is the target object which is to be
moved. By linking OBJ_MOVERs in a cyclic pattern the target object can
be kept moving indefinitely. When the OBJ_MOVER moves the target
object to its destination, the link is then transferred to the end
object, which in a chain of OBJ_MOVERs will then move the target
object to the next link in the chain. A chain composed of multiple
OBJ_MOVERs can hold multiple target objects, one for each pair of
OBJ_MOVERs. It has a user-definable speed at which it can
move the target object, in its AI.
PLASMA_ICON10
This is the small ammo unit for the Plasma Beam. It gives
the player 10 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
PLASMA_ICON50
This is the large ammo unit for the Plasma Beam. It gives
the player 50 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
POINTER
An object which does nothing, but is used to draw the players
attention to certain points in the level. It looks like a golden
arrow.
POWER_FAST
The power icon series, are icons which when collected by
the player augment their abilities. The player can only collect
one icon at a time.
This power icon will allow the player to move twice as fast as
normal and jump higher.
It is activated by using the right mouse button.
POWER_FLY
The power icon series, are icons which when collected by
the player augment their abilities. The player can only collect
one icon at a time.
This power icon will allow the player to fly.
It is activated by using the right mouse button.
POWER_HEALTH
The power icon series, are icons which when collected by
the player augment their abilities. The player can only collect
one icon at a time.
This power icon will allow the player to have 200 health points.
It is activated by using the right mouse button.
POWER_SNEAKY
The power icon series, are icons which when collected by
the player augments their abilities. The player can only collect
one icon at a time.
This power icon will allow the player to become partially invisible.
It is activated by using the right mouse button.
PUSHER
This object will push the player in the direction of the arrows.
It has a modifiable AI allowing the level designer to change
the strength at which it pushes the player.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
RESPAWNER
This object, like the DEATH_RESPAWNER, will respawn another object.
It has only one link, the object which it will respawn, and
in its AI is a user-definable delay time between the respawning.
An object can only be respawned if it is deleted once it has been
spawned. The object will be spawned at the same location of the
RESPAWNER. This object is very useful in network games,
since ammo and health tend to get depleted very quickly and need
to be respawned often.
RESTART_POSITION
This object functions as a user-activated save position in the game.
When the levels tend to be very large, it is necessary to put in
RESTART_POSITIONs, so if the player dies, they do not have to
start from the very beginning again. The more RESTART_POSITIONs in
a level, in general the easier it is.
ROB1
A large robot which can chase you down halls. It has large spinning
blades which are situated in front of it, which can do damage. It
has user-definable speed and health settings in its AI.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
ROCKET_ICON2
This is the small ammo unit for the Rocket Launcher. It gives
the player 2 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
ROCKET_ICON5
This is the large ammo unit for the Rocket Launcher. It gives
the player 5 additional ammo points. Like all ammo,
if it is connected to a sensor or switch which is off, the ammo
will be invisible, untouchable, and unaffected by gravity, until
the sensor or switch turns on.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
SENSOR
This is the basic triggering device. It has a on and off area box.
When the player enters the on area (green box) the sensor will
turn on and stay on until the player leaves the off area (red box).
(note the feet of the player must be inside the area boxes to be
considered inside the area box. Thus sensors are placed well
through the floor, to maximize their effectiveness).
It is usually the case that the off area encloses the on area,
but this is not required. Each of the areas are user-definable in
the sensor's AI. Many different objects can be linked to a sensor.
Sensors act as triggers, responding to the player's position.
Sensors are also used to extend the range of other objects
by linking them to other objects. Sensors do not process
their links.
SMART_PLAT_BIG
The smart platforms are objects which require two links,
usually two sensors (but not always). They look at the links'
state. If a link is on, it will travel to that object's location.
A third optional link will direct the platform to be active or
inactive, by the links state (ON == ACTIVE, OFF == INACTIVE).
They all have modifiable AIs for their traveling speed.
This platform is a big techno looking platform.
SMART_PLAT_RED
This platform is a big alien looking platform.
SMART_PLAT_SMALL
This platform is a small techno looking platform.
SPRAY_GUN
This is a gun object which, when active will shoot out sparys of
shots. It is capable of shooting any of the weapon types. Use
the same method as the ANT to change its weapon type, or modify
its AI setting. The arc, range, and firing-speed is
user-configurable.
If it has no links it NOT will be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
SPRING
This object will allow the player to jump higher than normal.
The longer the player is in contact with the SPRING object
the farther it will push them. The strength of the push is
user-definable.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
START
This object sets the starting point for the player when the game
is started anew. If the player is set behind objects when the game
starts, then it is necessary to raise this object and same the level
again with the raised START object.
To raise objects, you need to use this procedure:
--position mouse cursor over the object
--use the <shift> <>> key to raise the object
--if you want to lower it, use the <shift> <<> key
It is possible to have multiple starting points in a level. However,
the game will start with the last one placed.
STEP
This object just allows the player to walk on it. It is useful
as a steping stone.
SWITCH
This is a user-activated object. It has two states, on and off.
Other objects refer to this object often (as with the sensor)
as it is a versatile tool.
SWITCH_BALL
This is a user-activated object. It has two states, on and off.
Other objects refer to this object often (as with the sensor)
as it is a versatile tool. It can only be activated by
a weapon attack. That is, the player must shoot it for it to
activate. It cannot be deactivated.
SWITCH_DELAY
This switch, once activated, will revert back into its default state
after a certain user-definable time delay. Its default state is
off.
SWITCH_DIMMER
This is the only object that can modify lights. It requires two
links, one to a switch or any object which can change states
(on or off), and the other to a light which it modifies. Since
light and object links are different, it does not matter in which
order you link them to the SWITCH_DIMMER. The SWITCH_DIMMER can
increase or decrease the size of the light, as set by its AI.
The SWITCH_DIMMER is one of the few objects which have
different properties depending upon its orientaion. If you flip
a SWITCH_DIMMER around, (by using the <x> key with your cursor
over the SWITCH_DIMMER you can flip it around) it will now function
in reverse. That is, it will make the light grow, instead of
shrink. The SWITCH_DIMMER will only activate when the object
it is linked to is in the on state.
If it has no links it will NOT be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
SWITCH_DOOR
This is an object which has blocking and non-blocking states,
depending upon its link. It requires one link, which when on
will set the SWITCH_DOOR to a non-blocking state, and when off
will set the SWITCH_DOOR to a blocking state.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
SWITCH_MOVER
This object requires two links, the first to the object to be moved
and the second to any object which can change states (on or off).
When the second object's state is on, the SWITCH_MOVER will move the
first object to its current position and then the engine will
delete the SWITCH_MOVER.
A SWITCH_MOVER with no link will be deleted by the engine.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
SWITCH_ONCE
This is a user-activated object. It has two states, on and off.
Other objects refer to this object often (as with the sensor),
as it is a versatile tool. It can only be switched ONCE.
TELE2
This is an object which requires one link. When activated, it will
teleport the player to the postion of the object it is linked to.
TELE2 can be linked to each other, thus creating connections between
locations which have no direct connections.
TP_DOOR
This object requires one link. When activated it will teleport the
player to another TP_DOOR. It is convention that TP_DOOR be linked
to other TP_DOORs, only.
TRACK_GUN
When active, this object will track and shoot the player with
a rate of fire and weapon type as defined by its AI,
which is customizable.
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
TRAIN_MSG
This object will print a preset message to the player when
near it. The messages are defined externally.
TRAP_DOOR2
A door similar to the SWITCH_DOOR but is used on the floor.
(see SWITCH_DOOR)
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
TRAP_DOOR3
A door similar to the SWITCH_DOOR but is used on the floor.
(see SWITCH_DOOR)
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
WHO
Another type of flying robot, with the same attributes as the FLYER.
(see FLYER)
If it has no links it WILL be active.
It can be linked to a sensor or switch and will be
activated when the sensor or switch is in an ON state.
Congratulations for making it to the bottom of the list.
3C)
Preliminary Level Designing, Editors Windows and Menus
---------------------------------------------------------
------------------------------------------------------------------------
Preliminary Level Designing
------------------------------------------------------------------------
In starting a new level, I first muse upon a generalization of
what I want in the level. Will it be all action? Will it have some difficult
puzzles? Simple ones? What kind of puzzles or challenges can I make
and what skill level is the player at? Keep these in mind. The levels in
general can be as large as you want them to be, but the default value of
100 x 100 tiles is large enough for most levels. Before you can
begin putting down tiles and objects you first must learn how to tame
the windows and menus that proliferate the world that we call ABUSE.
------------------------------------------------------------------------
Editors Windows and Menus
------------------------------------------------------------------------
To find a window or menu description in this text do a key-word
search for it; review the Key Listings for proper spelling.
First you will need to start the game in edit mode for you to access
the editor that comes with ABUSE. To do this go to the current ABUSE
directory and type in this line:
abuse -edit
The '-edit' is an Extended Option see section 1A for a complete listing
of such.
The game will now start, it will load level 0, the training level
as default. This will suit our purpose for just learning the windows and
menus. As you notice the game is not running as of yet, and if you have
already played the game you will notice there now is a menu bar
at the bottom of the screen not present when you normally play, and
your cursor is now an arrow instead of the usual target. Let's examine the
menus and their functions.
Under the farthest left hand menu called FILE, we find a listing
of file utility commands and some advanced options.
under FILE-->
Load Level
Save Level (S)
Save level as
Save game
New level
Resize map
Suspend non-players
Play mode toggle (TAB)
Save Palettes
Start cache profile
End cache profile
The first 5 options from the top are basic file utility commands found
on almost all programs.
Load level
is a command to load in levels. It has two methods with
which to do this. The first is the command line where
the user can input the path and name of the level which
they want to load. The second is the file selection system
using the mouse. The user can DOUBLE click on the file
or directory to look for and load up the level they want.
-------NOTE----------
The file selection system does not work for loading up files
outside the current directory from which ABUSE was run.
Use the command line to load up levels from other
directories outside the current one.
Save level (S)
is a command to save levels. Its methods are the same
as the Load Level command, with the same limitations.
A shortcut key is <shift> <s> . This command will save
the level with the current name and directory structure
as that of the current loaded level.
Save level as
is a command to save a level under a diffrent name from
the current loaded level. Its methods are the same as
the Load Level command, with the same limitations.
Save game
is a command to save the level with your current position,
and weapon status. When the level is loaded up
the player will begin at the position from which
the game was saved. It differs from the other
save commands in that it also saves current position and
weapon status.
New level
creates a new level.
Resize map
is a command to resize the map (level). The default is
100 x 100 tiles. A tile is 30 x 15 pixels, so in pixel
terms this translates into a 3000 x 1500 pixel world.
To change the size of the world type in the new parameters
and press <ok>, then press <cancel> to close the window.
Suspend non-players
is a command to stop all objects from being processed,
except the main character. You will notice that when you
execute this command the main character's upper body is frozen,
this is because the main character is composed of two
OBJECTS and only the lower half is processed. This mode
is useful in level designing when you don't want to
disturb the world when you roam about.
Play mode toggle (TAB)
is the command to start the game from edit mode. That is,
it allows the user to play the game as they normally would.
Once you select this command you can only use the
short-cut key (TAB) to return to edit mode. The
(TAB) key will work in either situation. I suggest you
use this key and forego the menu command since it is
necessary to switch between these two modes very often.
Normally it is in edit mode (has menu bar on bottom of screen)
which an object can be placed and their AI modified.
Save palettes
save palettes to a file called EDIT.LSP, which can be
edited using a conventionial text editor. Palettes are
windows in which the level designer can place an assortment of
foreground tiles in any arrangement and use to stamp down
one copy or fill entire regions. More on this and
foreground tiles will be discussed later.
Start cache profile
is a level optimization command in which memory allocation
for most-often-used sound effects and graphics are preloaded
into memory for short load times when playing the level.
-----------------------NOTE--------------------------
This command should only be used for finished levels.
To use this command properly these steps must be followed:
--start a new level from the proper position and state
--select this command from the menu system
--enter play mode
--go through level as you normally would (using
saved positions are ok) Each time a graphics
animation, sound effect, etc. is used the
game makes note of it.
--continue up until you reach the end level
teleporter or end point of the level do not
go to the next level.
--reload the game from the menu
--save the game from the menu or use <shift> <s>
--now choose the End cache profile command
from the menu
End/save cache profile
is a command to save and end the cache optimization
procedure. It saves the data to a file under the name
and directory of the original level with an extension of
.CPF.
From the FILE menus you will use the Load level command most often.
The rest are occasionally used, and the Save level has a keyboard short-cut
so it will not be necessary to use the menu for that command. Now let's
take a look at the EDIT menus.
under EDIT ---->
Toggle light
Set scroll rate
Center on player
Add palette
Toggle Delays
God mode
Clear weapons (z)
Mouse scroll
Lock palette windows
Raise all foreground
Toggle object names
Toggle map (m)
Shrink to 320x200 (F10)
Disable view shifts
Ultra Smooth draw (U)
Disable Autolight (A)
Show FPS/Obj count
Record demo
Play demo
Toggle light
is a command to turn on and off the lighting. Lighting is a
unique feature of the ABUSE engine, allowing the
level designer to create new and intresting scenes simply
by moving around the light sources.
Set scroll rate
modifies the rate at which the foreground layer and
background layer scroll relative to each other.
The abuse engine has the capability for 2 layers of
parallaxing. The top layer is called the foreground layer
and the bottom called the background layer. The parameters
for the scroll rate are as such:
rate for background scroll in x axis:
rate for foreground scroll in x axis:
rate for background scroll in y axis:
rate for foreground scroll in y axis:
For example, if the parameters were
X mul 1
X div 2
Y mul 1
X div 2
the background would scroll twice as fast as the
foreground in the x and y axis.
Center on player
this command will center the screen on the main character.
It's very useful because the abuse engine allows the level
designer to displace the screen's center from the main
character in any arbitrary fashion. The short-cut key is
<c>.
Add palette
command allows the level designer to make their own custom
palettes. Palettes are windows in which the level designer
can place an assortment of foreground tiles in any
arrangement and use to stamp down one copy or fill
entire regions. To access a listing of available
palettes press <p>. A window will pop up with the listings;
choose one and double click on it. This will open the
appropriate palette window. Sometimes the palette windows will
be shrunk so to be more manageable. To unshrink them use the
<+> key while the mouse is inside the appropriate
window; they can be shrunken again using the <-> key.
Palettes can be used to fill or stamp down one
copy at a time. Once you have opened the appropriate
palette window use the mouse and click on the palette's window
bar (the top thick part the window) with the left mouse
button and while keeping the left mouse button in the
depressed position the level designer can use the <t> key
to do a flood fill, and the <space bar> to do a single
copy stamp down. Keep in mind that the fill option will
only fill an area composed of the same tile type and is
continuous. To position the stamp or fill you have to use
the upper left hand corner, this is same as the upper
left hand corner of the set of tiles. If you fill or stamp
down the palette with the upper left corner being inside
the tile grid on screen (the game is composed of 30 x 15
pixel foreground tiles) it will fill to the upper left corner
of tile, so don't worry about being pixel-perfect when
stamping or filling.
Inherent in a palette is the ability to pick
any tile in the set of tiles you have laid down thus
they act as custom libiaries. To make your own custom
palette, pick the:
Add palette
command from the menu. Name your palette something
representative of the palette. For our case something
like 'test' will do. You will notice parameters
for the X and Y size, but don't worry about this
since palettes are easily readjusted. Choose the <ok> button,
and now you will see a palette window pop up in the upper
left hand corner of the screen with the chosen name.
To add foreground tiles to your custom palette you first
need to bring up the foreground window. The <f> key will
bring up the foreground window. To expand the foreground
window place your mouse cursor inside the foreground
window and press <shift> <f>. Multiple presses of <shift> <f>
will continue to expand the foreground window, until
a certain point; then it will return to a single
tile-wide window. If the foreground tiles are shrunken
then use the <+> key to expand them and <-> to shrink
them, with the mouse cursor inside the foreground window.
Don't be concerned about moving around the windows on
your screen to clear up the clutter. Use the <-> key
often to shrink down unused palette windows or press on the
upper left hand button on windows to close them. To choose
a tile from the foreground window, use either the left or
the right mouse button. You can only lay a tile down in
a palette with the right mouse button. Go into the palette
window of your choice and use the RIGHT mouse button
to lay down your chosen tile. If you cannot lay down a
tile in a palette window you might have a protection command
activated. Go to the EDIT menu and look for the command:
Lock palette windows
If this command selection has an asterisk next to it then
it is active. Click on it to deactivate it.
To expand a palette window, use the arrow
keys. Place your mouse inside the palette window and
press the arrow keys pointing right and down to expand
the windows width and height respectively. The arrow keys
pointing left and up will shrink the windows width and
height respectivly.
To pick a tile from a palette use the LEFT mouse
button. If you use the RIGHT mouse button you might alter
the palette if you don't have the Lock palette window
command activated.
----------------------NOTE---------------------------
If you shrink a palette window, any tiles contained in
the prior area of the palette window will be lost. That
is why there is a Lock palette window command to
protect against accidential alteration of palettes.
---------------------NOTE----------------------------
You must save each time, after you add a new palette you
want to keep in the game by using the :
Save palettes
command from the FILE menu selection. Saving a level DOES
NOT save the palette information as well.
Palettes are very powerful tools to a level
designer. They will allow you to do complex fills and make
repetetive structures easily, as well as being custom libraries
for tiles. Palettes are your friends.
Toggle Delays
will allow the game to run at the fastest speed capable
for your machine. There should be a message telling you
whether delays are being turned on or off after you choose
this command. The keyboard short-cut is <shift> <d>.
God mode
In this mode you have all the weapons, unlimited
ammo and cannot be killed. The SHAREWARE version has
only four weapons as opposed to the COMMERCIAL versions
full eight weapon types. The keyboard short-cut is
<shift> <z>.
Clear weapons (z)
When level designing and debugging it is necessary to manually
reset your weapons, since the abuse engine does not clear
your weapon status when you reset the levels.
This command will reset your weapon status, leaving you
with only the laser rifle, and all its ammo will be reset
to zero. The keyboard short-cut is <z>.
Mouse scroll
An optional feature is the ability to use the mouse as
scrolling device. If this command is active (as indicated
by an asterisk), you can push the screen around the level
by pushing the mouse cursor against the four boundaries of
the screen. You can also use the arrow keys to scroll around
the level, but be careful not to be in any unlocked palette
windows when using the arrow keys as that would alter them.
Lock palette windows
this command prevents any accidential alteration to
palettes. When this command is active (as indicated by an
asterisk) none of the palette windows can be resized nor
can the tiles in them be changed. To deactivate this command
click on it again.
Raise all foreground
when active, as indicated by the asterisk,
will make all the foreground that is laid down in the
level, be of the raised type. Raised foregrounds are
drawn in front of the character, that is the main character
is obscured by them. When in edit mode all raised foregrounds
will have an 'X' drawn over them. To deactivate this command
select this command again. To unraise a raised foreground
tile, go over the tile (positioning the mouse cursor over it)
and press the <r> key. If this is successful the 'X' should
not be drawn over the foreground tile anymore, pressing the
<r> key again will raise the tile once more. The <r> key can
be used to raise and lower tiles.
Toggle object names
when active, will display the name of all objects on screen
in green underneath the object.
Toggle map (m)
when active, will display the map onscreen. The map is a
global representaion of the level, with area boxes shown.
Area boxes are areas when a player enters, a preset
ambient and screen displacement will occur. The map can
be scrolled left right up and down using the arrow keys or
mouse cursor if mouse scroll is activated.
Ambient is the global level of lighting. A player
can only have one ambient at a time. However with the use
of these area boxes multiple ambiences can be achived.
Once a player leaves an area box the screen displacement
and ambient do not return to their previous values. The
values of the screen displacement and ambient can only
change when the player enters another area box, until that
time the ambient and screen displacement are set as from the
last area box the player entered. Screen displacement shifts
the center of the screen relative to the player center.
These parameters and others can be accessed using the
toolbar window. The toolbar window can be activated either
using the menu command under the WINDOWS menu selection
or the keyboard short-cut key <a>. When the tool bar menu
is active, you will see three icons. The first is a pencil,
icon, when this icon is selected (single clicking on it
with your mouse cursor) you can lay down tiles you
have currently chosen from either the foreground window,
palette window, or even the current level itself! To lay
down a tile in the game just press the right mouse button
over an area in the map. This mode is useful for using the
fill option. To fill an area in a map with one type
foreground tile use this apporach:
--select a tile from any of three soruces
-- current level
-- foreground window
-- palette window
--find the desired area, composed of the same tile
in continuous array.
--move mouse pointer over this area
--press <t> key to do a flood fill of said area
To select a tile which is presently in the game,
position your mouse cursor over the tile and press
the <`> key. If your foreground window is open at the
same time, it will jump to that tile which is now selected.
This selection mechanism will work in map mode as well.
The next icon in the toolbar window is the
arrow icon. This icon allows you to modify an area boxes
parameters. However first you must lay one down. To lay
down area boxes it is necessary to use the last icon: a
box drawn with broken lines. To draw area boxes follow
this procedure:
--select the broken line box icon (position your
mouse cursor over it and press once with the
left mouse button)
--go to the map
--click once with the left mouse button and while
keeping it depressed, drag out the area of
the box.
(Note that when you put an area box on the map
it is the upper left hand corner of the box
which is laid first and you can only drag the box
area down and rightward from there).
Now to modify an area box's default settings you have to
select the arrow icon. Follow these procedures to modify
an area box's parameters.
--select the arrow icon
--go to one of the area box's yellow endpoints
(there are two endpoints per area box, one at
the upper left and lower right)
--DOUBLE click on one of the end points.
(you will know when you have selected an area box
after you double-click on it, as it will flash
yellow)
--this will bring up a window with several
parameters:
Ambient
Ambient speed
View x off
View y off
View x speed
View y speed
A brief description of each as follows:
Ambient -- is the global lighting level
it ranges from 0 - 63.
Ambient speed -- is the rate at which
the ambient changes from one ambient to
the preset, if when the player enters
the area the ambient is different from the
presets. (note that if an ambient speed of
negative one is given then it instructs the
engine to use the current ambient the
player possesses as the preset)
View x off -- tell how many pixels to offset the
player's center from the screen's center in the x
axis. If the value is negative it will shift the
screen left, if the value is positive it will shift
the screen right.
View y off -- tell how many pixels to offset the
player's center from the screen's center in the y
axis. If the value is negative it will shift the
screen upwards and a postive value will shift the
screen downwards.
(unlike Ambient Speed, a value of -1 is not
sentinel; that is, it does not indicate "no change")
BROSKE - pixels/sec? pixels/tick? better to not spec units?
View y speed -- is the speed at which the screen
shifts in terms of pixels/sec.
View x speed -- is the speed at which the screen
shifts in terms of pixels/sec.
Click on the <ok> (check) button to close the area box
extended option window, or the <delete> (big red x) to
delete the area box.
The keyboard short-cut key is <m>. To get out of map mode
press <m> once more.
Mastering the map will allow you to gain the big picture
in level design.
Shrink to 320x200 (F10)
is a command to show a full screen size at 300x200
resolution. This is useful if you're working in hires and
want to get an idea of what the player will see in low
resolution.
Disable view shifts
if this command is activated (asterisk next to it in the
menu selection) it will not shift the view when the
player is in an area box. This is very useful when
developing a level in that the accidental entering of
an area box can cause annoying unwanted view shifts.
To deactivate this, just reselect it under the EDIT menu.
Ultra Smooth draw (U)
this will draw the characters as smoothly as possible.
This command currently is under development and should
not be used.
Disable Autolight (A)
this will disable the autolight feature. The autolight
feature will turn off the lighting if the frame rate drops
below 9 frames per second. Disable this if you're working on
a slow machine and want to see the lighting regardless
of speed. Double selection will deactive this as with
all the others. The keyboard short cut is the <shift>
<A> key.
Show FPS/Obj count
this command will print the number of frames per second
and the number of objects being processed currently at the
upper left hand corner of the screen.
Record demo
this will begin a recording of the character while the
game is running which can be viewed later using the
Play demo command.
Play demo
this will play the demo which you have recorded.
The EDIT menu is very important to designing levels. Most of the
important functions have keyboard equivalents and can greatly speed up
level designing. Mastering this will allow you to make many levels. Now
let's take a look at the WINDOWS menu.
WINDOWS->
Foreground (f)
Background (b)
Draw layers (L)
Lighting (l)
Palettes (p)
Objects (o)
Console (/)
Tool Bar (a)
Search (s)
Profile (P)
Save positions
Foreground (f)
This selection will bring up the foreground window
where you can select the tiles which the main
character interacts with (walk on, blocked by, etc).
To expand the foreground window place your mouse cursor
inside it and press <shift> <f>.
Multiple presses of <shift> <f> will continue to expand
the foreground window, until a certain point when
it will return to a single tile-wide window. If the
foreground tiles are shrunken then use the <+> key to
expand them and <-> to shrink them, with the mouse cursor
inside the foreground window. Note that not all foreground
tiles can interact with the player. The keyboard short-cut
is the <f> key; it will toggle the foreground window. The
color black (0 color) is drawn as a beige color in the
foreground tiles, for identification purposes.
Background (b)
This selection will bring up the background window.
The abuse engine has the capability for 2 layers of
parallaxing. The top layer is called the foreground layer
and the bottom called the background layer. These tiles are
laid on the second layer. It is drawn behind the foreground
layer, and will show through only in areas where there is
the color black (0 color) in foreground tiles. To lay down
a background tile use this approach.
--select a background tile from the background window
by moving your mouse over the background tile and
pressing either mouse button.
(note you cannot use the <`> key to select already
laid down background tiles, like that of the
foreground tiles).
--move over to the place where you want to place
the background tile
--press the RIGHT mouse button to lay down a
background tile. Only the right mouse button will
work. (note that because of the grid method of
the Abuse engine you can only lay down background
tiles in a 60x30 pixel grid, however in more
advance options the size of the background tiles
can be changed).
The keyboard short-cut key is <b>; it can be toggled to
turn off and on the background window.
It is almost impossible to lay down background tiles
correctly when they are covered by foreground tiles. There
is an option to turn off selective layers, the lighting,
bounding areas, and links. This is acheived using the
Layers window.
Draw layers (L)
The Layers window can be opened using this selection.
It is useful in clearing up the clutter when developing
levels. For example, when laying down background tiles
it is sometimes necessary to turn off the foreground
layer. This is done by pressing on the button labeled
FORE. The foreground should be not visible once the button
is depressed. To turn the foreground back on depress the
button FORE once more. What follows is a description
of the function of each button:
FORE-turns on/off the foreground layer
BACK-turns on/off the background layer
BOUND-turns on/off the bounding boxes of the
foreground tiles. Bounding boxes block the player,
so the player can walk on floors and is stopped
by walls and such. This mode is useful for
determing whether the junctions of the foreground
tiles' bounding boxes line up correctly.
LIGHT-turns on/off the lighting.
Lighting is a unique feature of the ABUSE engine,
allowing the level designer to create new and
interesting scenes simply by moving around the light
sources. This mode is useful when you want speed,
as the lighting slows the machine down.
It is also useful because when you are developing
the levels with the lighting on, it can be
distracting. It is advisable to disable the
lighting until the very end of the level design
process.
LINKS-turns on/off the links between objects. Links
are the grey lines drawn from one object to another.
They act as visual cues, indicating that those
objects are referring to each other for particualar
purposes as will be disscussed later. If the links
are so dense as to obscure the foreground, then it
is a good idea to turn them off. (NOTE: when
the links are off the light icon will not be drawn).
The keyboard short-cut is the <shift> <l> keys. This is also
toggleable.
Lighting (l)
This selection will bring up the lighting window. Contained
within this window are the various light sources which can
be placed in a level, and an ambient button. Lights are
represented by a circular, semi-circular, or wedge-shaped
icon, depending on the direction of the light produced.
To drop a light in the game follow this procedure:
--move your mouse cursor over to one of the
light icons in the light window.
--click on it, using either mouse button
-move your mouse cursor over onto the screen
(note the light icon dragged with your cursor)
-position the light icon where you want it and
press the mouse button to drop it in place.
Sometimes you may want to modify the light's default
size and shape. There are several ways to modify these
characteristics. These are the procedures:
--The first method involves the use of just the
keyboard to change the lights shape:
--position the mouse cursor over the
light in question (or follow the above
procedure and acquire a light, but
do not drop it).
--once your mouse cursor is over the light
press the <spacebar> key to pick it up
(you do not have to do this if you
just created the light and it is already
picked up).
It is worth mentioning that it is possible to
pick up any object in the game using the
<spacebar> key when your cursor is over the object.
--now using the arrow key you can change
the lights shape.
--The second method for changing the lights shape
involves the use of the extended option window.
--position the mouse cursor over the
light to be modified.
-press either mouse button; this
will pop up an extended option window.
-modify the W and H fields for the lights,
which correspond to the width and height
of the light. (these fields only accept
small numbers).
--The first method for modifying the light's size
involves the keyboard
--position the mouse cursor over the
light to be modified (or follow the above
procedure and acquire a light, but
do not drop it).
--use the <+> and <-> keys to increase
and decrease the size.
--The second method involves the use of the
extended options window
--position the mouse cursor over the
light to be modified.
-press the mouse button (either), this
will pop up an extended option window.
-modify the L2 field to change the size
of the light. (note the L2 can accept very
large numbers).
The keyboard short-cut is <l>. Lighting is an integral
tool in creating mood in the levels. Learn how to
use the lighting well, but do not over-use it.
Palettes (p)
This window gives you a listing of your palettes. See
the Add Palette command under EDIT for a more complete
understanding of the palettes. The keyboard short-cut
is <p>
Objects (o)
Objects are the core of the game. They are all the characters
which you interact with. Each one is unique, as defined by
its AI. This window gives you a listing of all the objects
in the game. See Object Listings and Descriptions for a
complete overview of all the objects in the game. Some
basic object utility commands are as follows:
<spacebar> picks up character, when cursor is
over character
<x> flips character in x axis
<d> delete character
<shift> <c> clone characters
<ctrl> position character to a grid
(character must be picked up)
<alt> position character in the middle of a grid,
(character must be picked up)
<shift> <k> kills last link
<k> kills first link
The keyboard short-cut key is <o>
Console (/)
This will bring up the console window. The console window
can accept command line input. It can also be used to
modify the game and receive information about the game's state.
The keyboard short-cut is </> key.
Tool Bar (a)
This will bring up the toolbar window. It is used in
conjunction with the map view, to add and modify area boxes
and place tiles in the map view. See the Toggle map command
from the EDIT menu.
Search (s)
This is currently under development, it will search for
characters within a level. Do not use.
Profile (P)
The profile window will display the current characters and
rank their CPU time. The higher up on the list the greater
the CPU time taken up by that character or group of
characters.
Save positions
This command will save all the window positions which are open
to their current location. When reopened, they will reappear
at these locations.
You have now entered the next level, good bye and good luck.
4D)
Level Designing Hints and Practicalities
-----------------------------------------
------------------------------------------------------------------------
Level Designing Hints and Practicalities
------------------------------------------------------------------------
If anyone has read this far, they either have to be crazy, or
very determined. You make the call.
In level designing I usually do some pre-planning, as to what
kind of challenges I want in the level and the general pacing of the level.
I feel that the only way to learn it is to get in there and start laying down
tiles. But, if you don't want to draw your own tiles, you need to familiarize
yourself with the tile set. To do that, take a look at the current levels,
like level00.spe, the training level. Using the <`> key, with the
foreground window open, select the tiles which you have an interest in
and learn how they look and what they do. Use the layers window,
with the bounding option turned on, to see the bounds of each tile.
It is advisable to create your own palettes so you don't have to memorize
the location of your favorite tiles in the foreground window listings.
Also try out the objects, to see how they interact with the player. It is very
recommendable when making a level to save often. When testing out the level,
you may make a mess of all the characters, killing them and such. Use the
restore key, it will load up the level again, but will keep you at your
current location and weapon status. The restore key is <shift> <r>. The
restore key will reset the level to what level was saved. If you saved the
game at a RESTART_POSITION then it will restart the game using the
savegame not the original level, you need to check to make sure this is not
the case; be careful not to save a messed up level. Making a level is an
incremental process, building block by block as you go. Try not to be too
myopic in level designing, keep in mind the global goals and pacing of
the levels. That is, keep the action steady and gradually build
up to the end point. This is usually done with proper sequences of
challenges, and increasing difficulty levels. Making levels draws
a great deal from experience. Keep it up and you will eventually
find a rhythm from which good levels come.
With all that said, level designing is a rewarding process filled
with little twists and turns that will keep people enthralled, and entertained
for hours on end. Use it wisely grasshopper.
You have now entered the next level, good bye and good luck, this ain't no
spectactor sport, play it at a high volume, and I am a donut.
------------------place standard disclaimer here --------------------